Skip to content

Harden security and fix race conditions#2

Merged
jaredpalmer merged 13 commits intomainfrom
audit
Feb 13, 2026
Merged

Harden security and fix race conditions#2
jaredpalmer merged 13 commits intomainfrom
audit

Conversation

@jaredpalmer
Copy link
Copy Markdown
Owner

Summary

This PR systematically addresses the REVIEW.md findings, excluding the requested client-secret flag item.

What changed

  • Hardened OneDrive local path handling with canonicalization/escape checks.
  • Refactored circuit breaker flow to atomic execute/check behavior.
  • Added Graph-host allow-list validation for pagination tokens.
  • Enforced profile-name validation for auth cache/secret key derivation.
  • Added config read/write lockfile serialization with timeout handling.
  • Added OneDrive improvements: dry-run support, transfer progress, metadata-rich delete confirmation.
  • Added dry-run support for mail send and calendar create/update/delete.
  • Deduplicated OData page decoding in a shared graph helper.
  • Added best-effort zeroing of sensitive auth byte buffers.
  • Added tests for pagination hints and expanded coverage across modified areas.
  • Improved user-facing error formatting consistency (profile and breaker cases).
  • Added docs for exported API types and documented root exit handling behavior.
  • Updated README and microsoft-port-plan docs to reflect new behavior.

Validation

  • go test ./... (passing)

Notes

  • Per request, the --client-secret flag finding was intentionally not implemented in this PR.

@jaredpalmer jaredpalmer changed the title Address REVIEW.md findings (excluding client-secret flag) Harden security and fix race conditions Feb 13, 2026
@jaredpalmer jaredpalmer merged commit f609ce0 into main Feb 13, 2026
2 checks passed
@jaredpalmer jaredpalmer deleted the audit branch February 13, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant